package git.soulbgm;

/**
 * @author SoulBGM
 * @version 1.0
 * @date 2020/5/28 23:23
 */
public class BinaryTest {

    public static void main(String[] args) {
        int binary = 0b1100010;
        int octal = 0142;
        int hex = 0x62;
        int decimal = 98;

        System.out.println("2进制 : " + binary);
        System.out.println("8进制 : " + octal);
        System.out.println("16进制 : " + hex);
        System.out.println("10进制 : " + decimal);

        int num = 98;
        System.out.println("使用 Integer.toBinaryString(num) 将10进制转换2进制显示 : " + Integer.toBinaryString(num));
        System.out.println("使用 Integer.toOctalString(num) 将10进制转换8进制显示 : " + Integer.toOctalString(num));
        System.out.println("使用 Integer.toHexString(num) 将10进制转换16进制显示 : " + Integer.toHexString(num));

        System.out.println("使用 Integer.toString(num, 2) 将10进制转换2进制显示 : " + Integer.toString(num, 2));
        System.out.println("使用 Integer.toString(num, 8) 将10进制转换8进制显示 : " + Integer.toString(num, 8));
        System.out.println("使用 Integer.toString(num, 16) 将10进制转换16进制显示 : " + Integer.toString(num, 16));
        System.out.println("使用 Integer.toString(num, 32) 将10进制转换32进制显示 : " + Integer.toString(num, 32));

        System.out.println("使用 Long.toBinaryString(num) 将10进制转换2进制显示 : " + Long.toBinaryString(num));
        System.out.println("使用 Long.toOctalString(num) 将10进制转换8进制显示 : " + Long.toOctalString(num));
        System.out.println("使用 Long.toHexString(num) 将10进制转换16进制显示 : " + Long.toHexString(num));

        System.out.println("使用 Long.toString(num, 2) 将10进制转换2进制显示 : " + Long.toString(num, 2));
        System.out.println("使用 Long.toString(num, 8) 将10进制转换8进制显示 : " + Long.toString(num, 8));
        System.out.println("使用 Long.toString(num, 16) 将10进制转换16进制显示 : " + Long.toString(num, 16));
        System.out.println("使用 Long.toString(num, 32) 将10进制转换32进制显示 : " + Long.toString(num, 32));

        String binaryStr = "1100010";
        String octalStr = "142";
        String hexStr = "62";

        System.out.println("使用 Integer.parseInt(binaryStr, 2) 将2进制转换10进制显示 : " + Integer.parseInt(binaryStr, 2));
        System.out.println("使用 Integer.parseInt(octalStr, 8) 将8进制转换10进制显示 : " + Integer.parseInt(octalStr, 8));
        System.out.println("使用 Integer.parseInt(hexStr, 16) 将16进制转换10进制显示 : " + Integer.parseInt(hexStr, 16));

        System.out.println("使用 Long.parseLong(binaryStr, 2) 将2进制转换10进制显示 : " + Long.parseLong(binaryStr, 2));
        System.out.println("使用 Long.parseLong(octalStr, 8) 将8进制转换10进制显示 : " + Long.parseLong(octalStr, 8));
        System.out.println("使用 Long.parseLong(hexStr, 16) 将16进制转换10进制显示 : " + Long.parseLong(hexStr, 16));

    }

}
